import os
import shutil
from datetime import datetime
from time import sleep


class Demo(object):
    '''
    每段时间获取目录内文件，复制到指定目录，
        1，获取原始目录文件
        2，复制文件到备份目录，复制文件到指定目录，删除原目录文件
    '''

    def get_file(self, file_dir):
        list_file = os.listdir(file_dir)[0:50]
        return [{"file_name": file_abs, "file_abs": rf'{file_dir}\{file_abs}'} for file_abs in list_file]

    def copy_file(self, copy_file, back_dir, copy_dir):
        file_name = copy_file["file_name"]
        file_abs = copy_file["file_abs"]
        with open('log.txt', 'a') as f:
            f.write(datetime.today().strftime("%Y%m%d%H%M%S") + "\t" + file_name)
            f.close()
        shutil.copyfile(file_abs, rf'{back_dir}\{file_name}')
        shutil.copyfile(file_abs, rf'{copy_dir}\{file_name}')
        os.remove(file_abs)


if __name__ == '__main__':
    file_dir = input(r'原始单子目录：')  # 原始单子目录
    # back_dir = r'D:\Disktop\1'  # 备份文件目录
    # copy_dir = r'D:\Disktop\2'  # data目录
    back_dir = input(r'备份文件目录：')  # 备份文件目录
    copy_dir = input(r'data目录：')  # data目录

    demo = Demo()

    while os.listdir(file_dir):
        for item in demo.get_file(file_dir):
            demo.copy_file(item, back_dir, copy_dir)

        sleep(60)

